package _ppt_test;

/*
    编写一个Java程序，将字符串中的所有指定字符替换为另一个字符
 */
public class demo06 {
    public static void main(String[] args) {
        demo06 demo06 = new demo06();       //创建对象
        String result = demo06.replaceStr("aabbccdd",'a','*');
        System.out.println(result);
    }

    /**
     *
     * @param str 要被替换的字符串
     * @param oldStr 要被替换的字符
     * @param newStr 替换后的字符
     * @return
     */
    public String replaceStr(String str, char oldStr, char newStr) {
        /*
            创建StringBuilder类，后期存放字符
            StringBuilder和StringBuffer的区别：
                StringBuilder	     StringBuffer
                   非线程安全	           线程安全
               性能高（无同步开销）        性能较低（有同步开销）
                适用单线程环境	           适用多线程环境
         */
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < str.length(); i++){
            char nowChar = str.charAt(i);   //获取当前索引的字符
            if (nowChar == oldStr) {        //判断当前索引字符是否与要被替换的字符相等
                sb.append(newStr);          //相等则把替换后的字符加入sb里
            }else {
                sb.append(nowChar);         //不相等则把要被替换的字符加入sb里
            }
        }
        return sb.toString();               //返回字符串类型
    }
}
